Today's internet search engines perform poorly when trying to solve a user's problem. For example, a user may have a problem such as "what should I do when the printout from my laser printer has faded?" Using a standard search engine, the top results probably would identify content containing words such as "printout", "laser", "printer" or "faded", but most likely would not adequately answer the user's problem.
A more efficient and accurate search method than the aforementioned method makes use of knowledge bases. More specifically, knowledge bases provide users means to access information that helps them solve a problem through some decision tree format or some logic steps. Using the previous user question as an illustration, the user may first look under "Printer Problems" in the knowledge base. Under "Printer Problems", an entry for "What to do" may exist. Then under the "What to do" heading, a "printout fading" subheading may exist and contain the answer to the user's question.
Knowledge bases are often built with known problems and then having human experts create particular solutions according to the problems. After the solutions become available, the problems and the solutions are organized and entered into databases. Because knowledge bases contain and provide accurate and consist information in a cost-effective manner, many corporations today have incorporated these knowledge bases into their daily operations. Some examples are: MIS support, customer support, payroll support, etc.
Although many tools exist in the marketplace today to help companies construct their knowledge bases, knowledge bases are inherently expensive and complicated to build because of their reliance on human experts and their inability to anticipate problems. For instance, one existing building tool constructs knowledge bases by first categorizing problems, solutions and causes into "objects". After the "objects" have been generated, a user of this tool can establish links among selected objects using a graphical user interface. By connecting these objects, the tool generates a knowledge base according to the user's defined linkages. Despite the ease of use aspect of such a tool, the "objects" still need to be created separately. More particularly, the "solution or cause objects" are generated by human experts. Such experts not only need to be familiar with the subject matter in question, but also need to know the problem prior to formulating the corresponding answer. On the other hand, the "problem objects" are often generated from customer support organizations. Since the problems often come from actual customer feedback, the occurrence of these problems is neither anticipatory nor predictable. Consequently, synchronizing the effort of obtaining the problems first and then having the experts investigate them can be difficult and costly.